package org.darkforest.dao.redis;

import org.darkforest.model.GoodsClass;

import java.util.List;

/**
 * Created by valentina on 15/2/17.
 * 商品分类-redis操作类
 */
public interface GoodsClassRedisDao {

    /**
     * 将整个列表转为redis列表存储，并指定key值
     * @param clsList
     */
    public void addClassList(String key, List<GoodsClass> clsList);

    /**
     * 根据key获取商品分类列表
     * @param key
     * @return
     */
    public List<GoodsClass> getGoodsClassList(String key);

    /**
     * 获取指定key值指定位置的对象
     * @param key
     * @param index
     * @return
     */
    public GoodsClass getGoodsClass(String key, int index);

    /**
     * 获取指定key的列表长度
     * @param key
     * @return
     */
    public int getGoodsClassLength(String key);

    /**
     * 根据key值删除整个列表
     * @param key
     */
    public void deleteList(String key);


    /**
     * 向指定列表中添加数据
     * @param key
     * @param gc
     */
    public void addGoodsClass(String key, GoodsClass gc);

    /**
     * 向指定key值的列表的指定位置赋值，更新数据
     * @param key
     * @param index
     * @param gc
     */
    public void updateGoodsClass(String key, int index, GoodsClass gc);

    /**
     * 移除指定key值，指定位置的对象
     * @param key
     * @param index
     */
    public void removeGoodsClass(String key, int index);

    /**
     * 裁剪列表
     * @param key
     * @param start
     * @param end
     */
    public void trimGoodsClassList(String key, int start, int end);


}
